\begin{verbatim}
 mergesort(entradaParsed, n);
    
    int diasCount = 0;
    int prevDia = -1;
    for(int i=0; i<entradaParsedLen; i++) {
        if(entradaParsed[i] != prevDia) {
            diasCount++;
            prevDia = entradaParsed[i];
        }
    }
    
    CamionesPorDia* camionesPorDia = new CamionesPorDia[diasCount];
    prevDia = -1;
    int index = 0;
    for(int i=0; i<entradaParsedLen; i++) {
        if(prevDia != entradaParsed[i]) {
            camionesPorDia[index].dia = entradaParsed[i];
            camionesPorDia[index].camiones = 1;
            prevDia = entradaParsed[i];
            index++;
        } else {
            camionesPorDia[index-1].camiones++;
        }
    }
    
    int maxSumCamiones = 0;
    int maxSumStartIndex = 0;
    int startIndex = 0;
    int endIndex = 0;
    int sumCamiones = 0;
    // El intervalo que chequeo en cada iteracion es [startIndex, endIndex]
    for(startIndex=0; startIndex<diasCount; startIndex++) {
        // sumo los camiones que van estan en el intervalo [startIndex, endIndex]
        // esta suma la primera vez se hace para todos los elementos en el intervalo
        // y cada iteracion subsiguiente se hace solo para los elementos que no estaban
        // en el intervalo considerado en la iteracion anterior
        while(endIndex < diasCount && camionesPorDia[endIndex].dia - camionesPorDia[startIndex].dia < D) {
            sumCamiones += camionesPorDia[endIndex].camiones;
            endIndex++;
        }
        // si la sumatoria del intervalo es mayor a maxSum entonces me guardo
        // el valor de la sumatoria y el indice del inicio del intervalo
        if(sumCamiones > maxSumCamiones) {
            maxSumCamiones = sumCamiones;
            maxSumStartIndex = startIndex;
        }
        // resto los camiones del dia startIndex, para no tenerlos en cuenta
        // en el intervalo siguiente
        sumCamiones -= camionesPorDia[startIndex].camiones;
        
        if(endIndex >= diasCount) {
            break;
        }
    }

    cout << camionesPorDia[maxSumStartIndex].dia << " " << maxSumCamiones << endl;
\end{verbatim}